Reproducible Floating-Point Aggregation in RDBMSs

نویسندگان

  • Ingo Müller
  • Andrea Arteaga
  • Torsten Hoefler
  • Gustavo Alonso
چکیده

Industry-grade database systems are expected to produce the same result if the same query is repeatedly run on the same input. However, the numerous sources of non-determinism in modern systems make reproducible results difficult to achieve. This is particularly true if floating-point numbers are involved, where the order of the operations affects the final result. As part of a larger effort to extend database engines with data representations more suitable for machine learning and scientific applications, in this paper we explore the problem of making relational GROUPBY over floating-point formats bit-reproducible, i.e., ensuring any execution of the operator produces the same result up to every single bit. To that aim, we first propose a numeric data type that can be used as drop-in replacement for other number formats and is—unlike standard floating-point formats—associative. We use this data type to make state-of-theart GROUPBY operators reproducible, but this approach incurs a slowdown between 4× and 12× compared to the same operator using conventional database number formats. We thus explore how to modify existing GROUPBY algorithms to make them bitreproducible and efficient. By using vectorized summation on batches and carefully balancing batch size, cache footprint, and preprocessing costs, we are able to reduce the slowdown due to reproducibility to a factor between 1.9× and 2.4× of aggregation in isolation and to a mere 2.7% of end-to-end query performance even on aggregation-intensive queries in MonetDB. We thereby provide a solid basis for supporting more reproducible operations directly in relational engines. This document is an extended version of an article currently in print for the proceedings of ICDE’18 with the same title and by the same authors. The main additions are more implementation details and experiments.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Efficient Reproducible Floating Point Summation and BLAS

We define reproducibility to mean getting bitwise identical results from multiple runs of the same program, perhaps with different hardware resources or other changes that should ideally not change the answer. Many users depend on reproducibility for debugging or correctness [1]. However, dynamic scheduling of parallel computing resources, combined with nonassociativity of floating point additi...

متن کامل

Reproducible and Accurate Matrix Multiplication

Due to non-associativity of floating-point operations and dynamic scheduling on parallel architectures, getting a bit-wise reproducible floating-point result for multiple executions of the same code on different or even similar parallel architectures is challenging. In this paper, we address the problem of reproducibility in the context of matrix multiplication and propose an algorithm that yie...

متن کامل

Reproducible Parallel Floating-Point Computations

Because of rounding errors, floating-point operations such as addition and multiplication are not associative, computed results depend also on the order of computation. Therefore we cannot get the same answer from run-to-run even on the same machine with varying number of available processors. That makes understanding the reliability of output harder, especially with the increasing level of par...

متن کامل

The New IEEE-754 Standard for Floating Point Arithmetic

The IEEE-754 standard for Floating Point Arithmetic[1] that was in effect at the time of this seminar was adopted in 1985. That standard was intended for hardware implementation, although provisions were made for software implementation for operations. In addition to required operations, an appendix of recommended functions was also specified. Default exception handling was specified, and provi...

متن کامل

Scaling Data Race Detection for Partitioned Global Address Space Programs Chang-

i. Low overhead automated and precise detection of concurrency bugs at scale. ii. Using low overhead bug detection tools to guide speculative program transformations for performance. iii. Techniques to reduce the concurrency required to reproduce a bug using partial program restart/replay. iv. Techniques to provide reproducible execution of floating point programs. v. Techniques for tuning the ...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:
  • CoRR

دوره abs/1802.09883  شماره 

صفحات  -

تاریخ انتشار 2018